Systems and methods for assisting and augmenting surgical procedures

ABSTRACT

Systems and methods for providing assistance to a surgeon during an implant surgery are disclosed. A method includes defining areas of interest in diagnostic data of a patient and defining a screw bone type based on the surgeon&#39;s input. Post defining the areas of interest, salient points are determined for the areas of interest. Successively, an XZ angle, an XY angle, and a position entry point for a screw are determined based on the salient points of the areas of interest. Successively, a maximum screw diameter and a length of the screw are determined based on the salient points. Thereafter, the screw is identified and suggested to the surgeon for usage during the implant surgery.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/048,167, filed on Jul. 27, 2018, titled “SYSTEMS AND METHODS FOR ASSISTING AND AUGMENTING SURGICAL PROCEDURES,” which claims priority to U.S. Provisional Patent Application No. 62/537,869, filed on Jul. 27, 2017, titled “SYSTEMS AND METHODS OF PROVIDING ASSISTANCE DURING A SPINAL SURGERY,” which are herein incorporated by reference in their entireties.

TECHNICAL FIELD

The present disclosure is generally related to providing surgical assistance to a surgeon, and more particularly for providing surgical assistance for a surgical procedure.

BACKGROUND

Assessing spinal deformity is of tremendous importance for a number of disorders affecting human spine. A pedicle is a dense stem-like structure that projects from the posterior of a vertebra. There are two pedicles per vertebra that connect to structures like a lamina and a vertebral arch. Conventionally available screws, used in spinal surgeries, are poly-axial pedicle screws made of titanium. Titanium is chosen as it is highly resistant to corrosion and fatigue, and is easily visible in MRI images.

The pedicle screws were originally placed via a free-hand technique. Surgeons performing spinal surgeries merely rely on their experience and knowledge of known specific paths for performing the spinal surgeries. The free-hand techniques used by spinal surgeons rely on spinal anatomy of a patient. The spinal surgeon relies on pre-operative imaging and intra-operative anatomical landmarks for performing the spinal surgery. Assistive fluoroscopy and navigation are helpful in that they guide pedicle screw placement more or less in a real-time, but are limited by time and costs involved in fluoroscopy, and significant radiation exposure during fluoroscopy.

The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed technology.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various embodiments of systems, methods, and embodiments of various other aspects of the disclosure. Any person with ordinary skills in the art will appreciate that the illustrated element boundaries (e.g. boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. It may be that in some examples one element may be designed as multiple elements or that multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another, and vice versa. Furthermore, elements may not be drawn to scale. Non-limiting and non-exhaustive descriptions are described with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating principles.

FIG. 1A illustrates a system for providing assistance prior to or during an implant surgery, according to an embodiment.

FIG. 1B illustrates a network connection diagram 100 of an implant surgery assistance system for providing assistance prior to or during an implant surgery, according to an embodiment.

FIG. 2 illustrates a block diagram showing components of an implant surgery assistance system, according to an embodiment.

FIG. 3A shows salient points presented in a top view of a vertebra of the patient, according to an embodiment.

FIG. 3B shows salient points present in a side view of the vertebra of the patient, according to an embodiment.

FIG. 4A illustrates computations for determining an XZ angle for a spinal screw, according to an embodiment.

FIG. 4B illustrates computations for determining an XY angle for a spinal screw, according to an embodiment.

FIG. 5 illustrates a spinal screw and dimensions of the spinal screw, according to an embodiment.

FIG. 6 illustrates a flowchart showing a method for providing assistance to the surgeon during the spinal surgery, according to an embodiment.

FIG. 7 illustrates a flowchart showing a method for generating implant configurations.

FIG. 8A illustrates a flowchart showing a method for applying analysis procedures that can utilize machine learning models, according to an embodiment.

FIG. 8B illustrates a flowchart showing a method for applying analysis procedures that can utilize virtual models, according to an embodiment.

FIG. 9 illustrates a flowchart showing a method for training a machine learning model, according to an embodiment.

DETAILED DESCRIPTION

Embodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which example embodiments are shown. Embodiments of the claims may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The examples set forth herein are non-limiting examples and are merely examples among other possible examples.

The words “comprising,” “having,” “containing,” and “including,” and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.

It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the preferred, systems and methods are now described.

FIG. 1A illustrates a system 152 for providing assistance prior to or during an implant surgery, according to an embodiment. The system 152 can improve surgeries that involve implants by guiding selection and application of implants, delivery instruments, navigation tools, or the like. The system 152 can comprise hardware components that improve surgeries using, for example, a surgical assistance system 164. In various implementations, the surgical assistance system 164 can obtain implant surgery information, converting the implant surgery information into a form compatible with an analysis procedure, applying the analysis procedure to obtain results, and using the results to provide a configuration for the implant surgery.

An implant configuration can include characteristics of an implant such as various dimensions, angles, materials, application features (e.g., implant sizes, implant functionality, anchoring features, suture type, etc.), and/or aspects of applying the implant such as insertion point, delivery path, implant position/angle, rotation, amounts of force to apply (e.g., torque applied to a screw, rotational speed of a screw, rate of expansion of expandable implants, and so forth), etc. In some implementations, the implant surgery information can include images of a target area, such as MRI scans of a spine, patient information such as sex, weight, etc., or a surgeon's pre-operative plan. The surgical assistance system 164 can convert the implant surgery information, for example, by converting images into arrays of integers or histograms, entering patient information into feature vectors, or extracting values from the pre-operative plan.

In some implementations, surgical assistance system 164 can analyze one or more images of a patient to identify one or more features of interest. The features of interest can include, without limitation, implantation sites, targeted features, non-targeted features, access paths, anatomical structures, or combinations thereof. The implantation sites can be determined based upon one or more of risk factors, patient information, surgical information, or combinations thereof. The risk factors can be determined by the surgical assistant system based upon the patient's medical history. For example, if the patient is susceptible to infections, the surgical assistant system 164 can recommend a minimally invasive procedure whereas the surgical assistant system may recommend open procedure access paths for patients less susceptible to infection. In some implementations, the physician can provide the risk factors before or during the procedure. Patient information can include, without limitation, patient sex, age, health rating, or the like. The surgical information can include available navigation systems, robotic surgery platforms, access tools, surgery kits, or the like.

In some implementations, surgical assistance system 164 can apply analysis procedures by supplying the converted implant surgery information to a machine learning model trained to select implant configurations. For example, a neural network model can be trained to select pedicle screw configurations for a spinal surgery. The neural network can be trained with training items each comprising a set of images scans (e.g. camera, MRI, CT, x-ray, etc.) and patient information, an implant configuration used in the surgery, and/or a scored surgery outcome resulting from one or more of: surgeon feedback, patient recovery level, recovery time, results after a set number of years, etc. This neural network can receive the converted surgery information and provide output indicating the pedicle screw configuration.

In other implementations, surgical assistance system 164 can apply the analysis procedure by A) localizing and classifying a surgery target, B) segmenting the target to determine boundaries, C) localizing optimal implant insertion points, D) identifying target structures (e.g. pedicles and isthmus), and/or computing implant configurations based on results of A-D.

In yet further implementations, surgical assistance system 164 can apply the analysis procedure by building a virtual model of a surgery target area, localizing and classifying areas of interest within the virtual model, segmenting areas of interest, localizing insertion points, and computing implant configurations by simulating implant insertions in the virtual model. Each of the individual steps of these implementations can be accomplished using a machine learning model trained (as discussed below) to identify appropriate results for that step or by applying a corresponding algorithm. For example, an algorithm can measure an isthmus by determining an isthmus width in various images and tracking the minimal value across the images in different planes.

In another example, surgical assistance system 164 can apply the analysis procedure by performing a finite element analysis on a generated three-dimensional model (e.g., a model of the patient's anatomy) to assess stresses, strains, deformation characteristics (e.g., load deformation characteristics), fracture characteristics (e.g., fracture toughness), fatigue life, etc. A virtual representation of the implant or other devices could be generated. The surgical assistance system 164 can generate a three-dimensional mesh to analyze the model. Machine learning techniques to create an optimized mesh based on a dataset of vertebrae or other bones and implants or other devices. After performing the analysis, the results could be used to refine the selection of screws or other implant components.

The surgical assistance system 164 can incorporate results from the analysis procedure in suggestions for the implant surgery. For example, the results can be used to indicate suggested implants for a procedure, to annotate an image with suggested insertions points and angles, to generate a virtual reality or augmented reality representation including the suggested implant configurations, to provide warnings or other feedback to surgeons during a procedure, to automatically order the necessary implants, to generate surgical technique information (e.g., insertion forces/torques, imaging techniques, delivery instrument information, or the like), etc.

The surgical assistance system 164 can improve the efficiency, precision, and/or efficacy of implant surgeries by providing more optimal implant configuration guidance. This can reduce operational risks and costs produced by surgical complications, reduce the resources required for preoperative planning efforts, and reduce the need for extensive implant variety to be prepared prior to an implant surgery. The surgical assistance system 164 provides increased precision and efficiency for patients and surgeons.

In orthopedic surgeries, the surgical assistance system 164 can select or recommend implants (e.g., permanent implants, removable implants, etc.), surgical techniques, patient treatment plans, or the like. For example, the implants can be joint replacements, hip implants, removable bone screws, or the like. The surgical techniques can include access instruments selected based on one or more criteria, such as risk of adverse events, optical implant position, protected zones (e.g., zones with nerve tissue), or the like. In spinal surgeries, the surgical assistance system 164 can reduce incorrect selection of pedicle screw types, dimensions, and trajectories while making surgeons more efficient and precise, as compared to existing surgical procedures.

The surgical assistance system 164 can also improve surgical robotics/navigation systems, providing improved intelligence for selecting implant application parameters. For example, the surgical assistance system 164 empowers surgical robots and navigation systems for spinal surgeries to increase procedure efficiency and reduce surgery duration by providing information on types and sizes, along with expected insertion angles. In addition, hospitals benefit from reduced surgery durations and reduced costs of purchasing, shipping, and storing alternative implant options. Medical imaging and viewing technologies can integrate with the surgical assistance system 164, to provide more intelligent and intuitive results.

The surgical assistance system 164 can be incorporated in system 152, which can include one or more input devices 120 that provide input to the processor(s) 145 (e.g. CPU(s), GPU(s), HPU(s), etc.), notifying it of actions. The actions can be mediated by a hardware controller that interprets the signals received from the input device and communicates the information to the processors 145 using a communication protocol. Input devices 120 include, for example, a mouse, a keyboard, a touchscreen, an infrared sensor, a touchpad, a wearable input device, a camera- or image-based input device, a microphone, or other user input devices.

Processors 145 can be a single processing unit or multiple processing units in a device or distributed across multiple devices. Processors 145 can be coupled to other hardware devices, for example, with the use of a bus, such as a PCI bus or SCSI bus. The processors 145 can communicate with a hardware controller for devices, such as for a display 130. Display 130 can be used to display text and graphics. In some implementations, display 130 provides graphical and textual visual feedback to a user. In some implementations, display 130 includes the input device as part of the display, such as when the input device is a touchscreen or is equipped with an eye direction monitoring system. In some implementations, the display is separate from the input device. Examples of display devices are: an LCD display screen, an LED display screen, a projected, holographic, or augmented reality display (such as a heads-up display device or a head-mounted device), and so on. Other I/O devices 140 can also be coupled to the processor, such as a network card, video card, audio card, USB, firewire or other external device, camera, printer, speakers, CD-ROM drive, DVD drive, disk drive, or Blu-Ray device. Other I/O 140 can also include input ports for information from directly connected medical equipment such as MRI machines, X-Ray machines, etc. Other I/O 140 can further include input ports for receiving data from these types of machine from other sources, such as across a network or from previously captured data, e.g. stored in a database.

In some implementations, the system 152 also includes a communication device capable of communicating wirelessly or wire-based with a network node. The communication device can communicate with another device or a server through a network using, for example, TCP/IP protocols. System 152 can utilize the communication device to distribute operations across multiple network devices.

The processors 145 can have access to a memory 150 in a device or distributed across multiple devices. A memory includes one or more of various hardware devices for volatile and non-volatile storage, and can include both read-only and writable memory. For example, a memory can comprise random access memory (RAM), various caches, CPU registers, read-only memory (ROM), and writable non-volatile memory, such as flash memory, hard drives, floppy disks, CDs, DVDs, magnetic storage devices, tape drives, device buffers, and so forth. A memory is not a propagating signal divorced from underlying hardware; a memory is thus non-transitory. Memory 150 can include program memory 160 that stores programs and software, such as an operating system 162, surgical assistance system 164, and other application programs 166. Memory 150 can also include data memory 170 that can include, e.g. implant surgery information, configuration data, settings, user options or preferences, etc., which can be provided to the program memory 160 or any element of the system 152.

Some implementations can be operational with numerous other computing system environments or configurations. Examples of computing systems, environments, and/or configurations that may be suitable for use with the technology include, but are not limited to, personal computers, server computers, handheld or laptop devices, cellular telephones, wearable electronics, tablet devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, or the like.

FIG. 1B illustrates a network connection diagram 100 of a system 102 for providing assistance to a surgeon during a spinal surgery, according to an embodiment. The system 102 may be connected to a communication network 104. The communication network 104 may further be connected with a network in the form of a precision spine network 106 for allowing data transfer between the system 102 and the precision spine network 106.

The communication network 104 may be a wired and/or a wireless network. The communication network 104, if wireless, may be implemented using communication techniques such as Visible Light Communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), Long term evolution (LTE), Wireless local area network (WLAN), Infrared (IR) communication, Public Switched Telephone Network (PSTN), Radio waves, and other communication techniques known in the art.

In one embodiment, the precision spine network 106 may be implemented as a facility over “the cloud” and may include a group of modules. The group of modules may include a Precision Spine Network Base (PSNB) module 108, an abnormalities module 110, an XZ screw angle module 112, an XY screw module 114, and a screw size module 116.

The PSNB module 108 may be configured to store images of patients and types of spinal screws, required in spinal surgeries. In some implementations, a similar module can be used for other types of surgeries. While the PSNB is referred to below, in each instance other similar modules can be used for other types of surgeries. For example, a Precision Knee Network Based can be used to assist in anterior cruciate ligament (ACL) replacement surgeries. The images may be any of camera images, Magnetic Resonance Imaging (MRI) images, ultrasound images, Computerized Aided Tomography (CAT) scan images, Positron Emission Tomography (PET) images, and X-Ray images. In one case, the images may be analyzed to identify abnormalities and salient features in the images, for performing spinal surgeries on the patients. In some implementations, the PSNB module 108 can store additional implant surgery information, such as patient information, (e.g. sex, age, height, weight, type of pathology, occupation, activity level, tissue information, health rating, etc.), specifics of implant systems (e.g. types and dimensions), availability of available implants, aspects of a surgeon's preoperative plan (e.g. surgeon's initial implant configuration, detection and measurement of the patient's anatomy on images, etc.), etc. In some implementations, the PSNB module 108 can convert the implant surgery information into formats useable for implant suggestion models and algorithms. For example, the implant surgery information can be tagged with particular identifiers for formulas or can be converted into numerical representations suitable for supplying to a machine learning model.

The abnormalities module 110 may measure distances between a number of salient features of one vertebra with salient features of another vertebra, for identifying disk pinches or bulges. Based on the identified disk pinches or bulges, herniated disks may be identified in the patients. It should be obvious to those skilled in the art, that given a wide variety of salient features and geometric rules, many spinal abnormalities could be identified. If the spinal abnormalities are identified, the PSNB module 108 may graphically identify areas having the spinal abnormalities and may send such information to a user device 118.

In one embodiment, information related to spinal surgeries may be displayed through a Graphical User Interface (GUI) of the user device 118, as illustrated using FIG. 1B. A smart phone is shown as the user device 118 in FIG. 1B, as an example. Further, the user device 118 may be any other device including a GUI, for example, a laptop, desktop, tablet, phablet, or other such devices known in the art.

The XZ screw angle module 112 may determine an XZ angle of a spinal screw or other implant to be used during the surgery. Further, the XY screw angle module 114 may determine an XY angle of the implant. The XZ screw angle module 112 and the XY screw angle module 114 may determine a position entry point for at least one spinal screw. The XZ screw angle module 112 and the XY screw angle module 114 may graphically represent the identified data and may send such information to the user device 118.

The screw size module 116 may be used to determine a screw diameter (e.g., a maximum screw diameter) and a length of the screw based on the salient features identified from the images of the patients.

In some implementations, the XZ screw angle module 112, the XY screw angle module 114, and the screw size module 116 can identify implant configurations for other types of implants in addition to, or other than screws (e.g., pedicle screws, facet screws, etc.) such as cages, plates, rods, disks, fusions devices, spacers, rods, expandable devices, etc. In addition, these modules may suggest implant configurations in relation to references other than an X, Y, Z, coordinate system. For example, in a spinal surgery, the suggestions can be in reference to the sagittal plane, mid-sagittal plane, coronal plane, frontal plane, or transverse plane. As another example, in an ACL replacement surgery, the suggestions can be an angle for a tibial tunnel in reference to the frontal plane of the femur. In various implementations, the XZ screw angle module 112, the XY screw angle module 114, or screw size module 116 can identify implant configurations using machine learning modules, algorithms, or combinations thereof, as described below in relation to FIGS. 6-9.

In one embodiment, referring to FIG. 2, a block diagram showing different components of the system 102 is explained. The system 102 includes a processor 202, interface(s) 204, and a memory 206. The processor 202 may execute an algorithm stored in the memory 206 for augmenting an implant surgery, e.g. by providing assistance to a surgeon during a spinal or other implant surgery, by providing controls to a robotic apparatus (e.g., robotic surgery systems, navigation system, etc.) for an implant surgery or by generating suggestions for implant configurations to be used in an implant surgery. The processor 202 may also be configured to decode and execute any instructions received from one or more other electronic devices or server(s). The processor 202 may include one or more general purpose processors (e.g., INTEL® or Advanced Micro Devices® (AMD) microprocessors) and/or one or more special purpose processors (e.g., digital signal processors or Xilinx® System On Chip (SOC) Field Programmable Gate Array (FPGA) processor). The processor 202 may be configured to execute one or more computer-readable program instructions, such as program instructions to carry out any of the functions described in this description.

The interface(s) 204 may help a user to interact with the system 102. The user may be any of an operator, a technician, a doctor, a doctor's assistant, or another automated system controlled by the system 102. The interface(s) 204 of the system 102 may either accept an input from the user or provide an output to the user, or may perform both the actions. The interface(s) 204 may either be a Command Line Interface (CLI), Graphical User Interface (GUI), or a voice interface.

The memory 206 may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, Compact Disc Read-Only Memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, Random Access Memories (RAMs), Programmable Read-Only Memories (PROMs), Erasable PROMs (EPROMs), Electrically Erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions.

The memory 206 may include modules, implemented as programmed instructions executed by the processor 202. In one case, the memory 206 may include a design module 208 for receiving information from the abnormalities module 110. The design module 208 may poll the surgeon for an information request. The design module 208 may allow the surgeon to design the spinal screw and change the generated implant configurations, such as the entry point (e.g., entry point into the patient, entry points into a vertebra, entry points to the implantation site, etc.), and screw or other implant angles in any of various planes. If the surgeon changes the entry point or angles, the system can automatically update other features of the implant configuration to account for the changes, such as the implant dimensions (e.g. screw diameter, thread pitch, or length). The design module 208 may include patient data 210. The patient data 210 may include images of patients and may allow the surgeon to identify the patients. A patient may refer to a person on whom and operations is to be performed. The patient data 210 may include images of patients, received from the user device 118.

In one embodiment, areas of interest may be defined in diagnostic data of a patient. In one case, the system 102 may determine the areas of interest based on pre-defined rules or using machine learning models, as described below in relation to FIGS. 6-9. In another case, the areas of interest may be defined based on a surgeon's input. In one case, the diagnostic data may include images of the patient. The images may be any of camera images, Magnetic Resonance Imaging (MRI) images, ultrasound images, Computerized Aided Tomography (CAT) scan images, Positron Emission Tomography (PET) images, and X-Ray images. In one case, the images of the patients may be stored in the patient surgeon database 210.

Post defining the areas of interest, a screw bone type may be defined based on various models and/or the surgeon's input. Successively, salient features of the areas of interest may be identified in the images of the patients, e.g. by applying the procedures described below. FIG. 3A shows salient points present in a top view of a vertebra of the patient, according to an embodiment. The salient points are shown as bubbles i.e. ‘e₁,’ ‘e₂,’ and ‘f₂.’ Further, FIG. 3B shows salient points present in a side view of the vertebra of the patient, according to an embodiment. The salient points are shown as bubbles i.e. ‘k_(i),’ ‘k_(u),’ ‘h_(u),’ ‘i_(m),’ and ‘z’.

Successively, based on the salient points of the areas of interest, the system 102 may determine implant configurations (e.g. angles and entry point, implant orientation, implant movement, etc.) using the analysis procedures. FIG. 4A illustrates computations for determining the XZ angle (φ) 402 using the salient points, according to an embodiment. It should be noted that positions of X and Y co-ordinates of the regions of interest may be determined based on a location of at least one salient feature present in the image.

FIG. 4B illustrates computations for determining the XY angle (θ) 406 using the salient points, according to an embodiment. It should be noted that positions of X and Y co-ordinates of the regions of interest may be determined based on a location of at least one salient feature present in the image. Further, FIG. 4A illustrates a position entry point 404 for the spinal screw, and FIG. 4B illustrates a position entry point 408 for the spinal screw. Upon determining, MRI data including the XY angle, the XZ angle, and the position entry point for the spinal screw, may be stored in the abnormalities module 110.

Post identification of the angels and the entry point for an implant, the system 102 may determine additional implant configuration features. For example, the system 102 can determine a maximum implant (e.g. spinal screw) diameter, a minimum implant diameter, and a length of the implant to be used during a spinal surgery. For example, upon determining the maximum spinal screw diameter and the length of the spinal screw, the procedure MRI data may be updated in the abnormalities module 110.

In the spinal surgery example, the spinal screw having the determined maximum screw diameter and the length may be identified. The spinal screw may be suggested, to the surgeon, for usage during the spinal surgery. In one case, a spinal screw HA and dimensions of the spinal screw HA may be illustrated for the surgeon's selection, as shown in FIG. 5. As illustrated in FIG. 5, a schematic showing different parameters of the spinal screw HA, dimensions of the spinal screw HA, and a schematic of threads of the spinal screw HA are shown, according to an embodiment. Further, different such details related to spinal screws HB, spinal screws HD, and other known spinal screws may be presented to the surgeon for usage during the spinal surgery, thereby assisting the surgeon during the spinal surgery.

As another example, for an ACL replacement, upon determining the entry point and angle for a tibial tunnel for attaching a replacement graft, the system 102 can identify a depth for the tibial tunnel such that it will end above the center of the knee joint without piercing surrounding tissue. In addition, dimensions for the ACL graft itself and/or for screws or other fastening components can be suggested.

The flowchart 600 of FIG. 6 shows the architecture, functionality, and operation for providing assistance to a surgeon during a spinal surgery, according to an embodiment. One skilled in the art will appreciate that, for this and other processes and methods disclosed herein, the functions performed in the processes and methods may be implemented in differing order. Furthermore, the outlined steps and operations are only provided as examples, and some of the steps and operations may be optional, combined into fewer steps and operations, or expanded into additional steps and operations without detracting from the essence of the disclosed embodiments. For example, two blocks shown in succession in FIG. 6 may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Any process descriptions or blocks in flowcharts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the example embodiments in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved. In addition, the process descriptions or blocks in flow charts should be understood as representing decisions made by a hardware structure such as a state machine. The flowchart 600 starts at step 602 and concludes at step 610.

At step 602, areas of interest may be defined in diagnostic data of a patient and a screw bone type may be defined, during a spinal surgery. The diagnostic data may include images of the patient. The images may be any of camera images, Magnetic Resonance Imaging (MRI) images, ultrasound images, Computerized Aided Tomography (CAT) scan images, Positron Emission Tomography (PET) images, and X-Ray images.

At step 604, salient features of areas of interest may be identified from the diagnostic data. In one case, the images may be analyzed to identify abnormalities and the salient features, for performing spinal surgeries on the patients.

At step 606, an XZ angle, an XY angle, and a position entry point for an implant (e.g. a spinal screw) are determined. In one case, the XZ angle, the XY angle, and the position entry point may be determined based on the salient features.

At step 608, a maximum screw diameter and a length of the screw to be used during the spinal surgery may be determined based on the XY angle, the XZ angle, and the position entry point of the screw. Upon determining the maximum screw diameter and the length of the screw, the procedure MRI data may be updated in an abnormalities module 110.

At step 610, the screw implant to be used during a surgery may be identified and suggested to a surgeon. The screw implant may be identified based on the maximum screw diameter and the length of the screw.

FIG. 7 illustrates a flowchart showing a method 700 for generating implant configurations. At block 702, method 700 can obtain implant surgery information such as images, patent history, circumstance, test results, biographic data, surgeon recommendations, implant specifics, etc. Implant surgery images can be of parts of a patient, such as camera images, Magnetic Resonance Imaging (MRI) images, ultrasound images, Computerized Aided Tomography (CAT) scan images, Positron Emission Tomography (PET) images, X-Ray images, 2D or 3D virtual models, CAD models, etc. Additional implant surgery information can include, e.g. sex, age, height, weight, type of pathology, occupation, activity level, implant types and dimensions, availability of available implants, or aspects of a surgeon's preoperative plan (e.g. surgeon's initial implant configuration, detection and measurement of the patient's anatomy on images, etc.)

The implant surgery information can be obtained in various manners such as through direct user input (e.g. through a terminal or by interacting with a web service), through automatic interfacing with networked databases (e.g. connecting to patient records stored by a hospital, laboratory, medical data repositories, etc.), by scanning documents, or through connected scanning, imaging, or other equipment. The patient data can be gathered with appropriate consent and safeguards to remain HIPPA compliant.

At block 704, method 700 can convert the implant surgery information obtained at block 702 to be compatible with analysis procedures. The conversion can depend on the analysis procedure that will be used. As discussed below in relation to block 706, analysis procedures can include directly applying a machine learning model, applying an algorithm with multiple stages where any of the stages can provide machine learning model predictions (see FIG. 8A), or applying a virtual modeling system (see FIG. 8B).

In some implementations, the conversion of the implant surgery information can include formatting the implant surgery information for entry to a machine learning model. For example, information such as patient sex, height, weight, etc. can be entered in a feature vector, such as a sparse vector with values corresponding to available patient characteristics. In some implementations, the conversions can include transforming images from the implant surgery information into a format suitable for input to a machine learning model, e.g. an array of integers representing pixels of the image, histograms, etc. In some implementations, the conversion can include identifying surgery target features (detection and measurement of the patient's anatomy on images), characterizing surgery targets, or modeling (i.e. creating a virtual model of) the implant surgery target. For example, in a spinal surgery, this can include measuring vertebrae features on an image, converting 2D images of vertebrae into a 3D model, or identifying which vertebrae from a series of images are to be the target of the implant operation. As another example, in an ACL replacement surgery, this can include identifying and measuring features in an image such as location, size, and spacing of anatomy such as of the femur, patella, remaining portion of meniscus, other ligaments, etc., converting 2D images of the knee into a 3D model, or identifying other areas of damage (e.g. fractures, torn cartilage, other ligament tears, etc.).

In various implementations, the conversion process can be automatic, human supervised, or performed by a human technician, e.g. using tools such as a digital ruler and a digital angle finder. Further in the spinal surgery example, the conversion can include identifying a target set of vertebrae, initially localizing and marking the target set of vertebrae, performing segmentation for each of the target set of vertebrae, and marking cortical boundaries. In some implementations, input for the spinal implant surgery can specify a target set of vertebrae, however the surgical assistance system 164 can automatically perform calculations for additional vertebrae that weren't specified in the inputs. This can give the surgeon an option to expand the set of vertebrae to be fused, either prior to the operation or even during the procedure. In the ACL replacement surgery example, the conversion can include identifying a graft type (e.g. patella tendon, hamstring, cadaver ACL, etc.), initially localizing or marking the target drilling sites, performing segmentation for the target features (e.g. end of the femur), and marking boundaries (e.g. bone edges, meniscus edges, synovial membrane, etc.).

At block 706, method 700 can apply analysis procedures, using the converted implant surgery information from block 704, to identify implant configuration(s). In various implementations, the analysis procedures can include directly applying a machine learning model, applying a sequence of steps that can include one or more machine learning models, and/or generating a virtual model of the surgery target area and applying heuristics for implant configuration selection.

To apply a machine learning model directly, method 700 can provide the converted implant information to a machine learning model trained to specify implant configurations. A machine learning model can be trained to take input such as representations of a series of images and a feature vector for the patient and other aspects of the surgery (e.g. implant availability, surgeon specialties or ability indicators, equipment available, etc.) and can produce results that implant configurations. For example, for a spinal surgery, the machine learning model can suggest pedicle screw configurations, e.g. characteristics such as screw diameter, length, threading and application parameters such as screw insertion point, angle, rotation speed, etc. As another example, for an ACL replacement surgery, the machine learning model can suggest graft type, attachment type (e.g. screw material, length, or configuration features), graft attachment locations, drill depths, etc.

In some implementations, the converted implant information can be used in a multi-stage process for selecting aspects of an implant configuration. For example, for a spinal surgery, the multi-stage process can include method 800 or method 850, discussed below. In various steps of this these processes, either an algorithm can be used to generate results for that step or a machine learning model, trained for that step, can be applied.

In some implementations, the procedure for identifying implant configurations for a spinal surgery can include processing implant surgery information to locate targeted vertebrae and their pedicles in images, on available axes; identifying and tagging vertebrae characteristics; determining a preferred screw insertion point based on a mapping between tags and insertion point criteria (e.g. where the mapping can be a representation of a medical definition of a pedicle screw insertion point - described below); performing measurements, on the images, of the pedicle isthmus width and height and length of the pedicle and vertebral body, starting at the preferred insertion point; measuring the angle between the line used to determine length and the sagittal plane, in the axial view; and measuring the angle between that length line and the axial plane.

In some implementations, machine learning models can be trained to perform some of these tasks for identifying implant configurations. For example, machine learning models can be trained to identify particular vertebral pedicles in various images, which can then be atomically measured and aggregated across images, e.g. storing minimal, maximal, median, or average values, as appropriate given the target being measured. As another example, a machine learning model can receive the set of images and determine an order or can select a subset of the images, for automatic or manual processing. In some implementations, a machine learning model can be used to localize and classify the target within an image, such as by identifying a target vertebra or localizing the end of the femur or meniscus edges. In some implementations, a machine learning model can be used to segment target vertebrae, femur, tibia, or other anatomical features in the target area, to determine their boundaries. In some implementations, a machine learning model can be used to localize insertion points. In some implementations, a machine learning model can be used to segment images to determine boundaries of anatomical structures (e.g., boundaries of bones, organs, vessels, etc.), density of tissue, characteristics of tissue, or the like.

In various implementations, the results from the above stages can be used in inference formulae to compute the implant configurations. For example, a maximal screw diameter can be determined using the smallest pedicle isthmus dimension found across all the images of the target vertebrae (which can be adjusted to include a safety buffer). As another example, a maximal screw length can be determined using the smallest measurement of pedicle and vertebral body length, across all the target vertebra in question (which can be adjusted to include a safety buffer).

Machine learning models, as used herein, can be of various types, such as Convolutional Neural Networks (CNNs), other types of neural networks (e.g. fully connected), decision trees, forests of classification trees, Support Vector Machines, etc. Machine learning models can be trained to produce particular types of results, as discussed below in relation to FIG. 9. For example, a training procedure can include obtaining suitable training items with input associated with a result, applying each training item to the model, and updating model parameters based on comparison of model result to training item result.

In some implementations, automated selection of implant configurations can be limited to only cases likely to produce good results, e.g. only for certain pathologies, types of patients, surgery targets (e.g. the part of the spine that needs to be fused), or where confidence scores associated with machine learning model outputs are above a threshold. For example, in the spinal surgery example, automation can be limited to common types of spinal fusions, such as L3/L4, L4/L5, or L5/S1, certain pathologies such as spondylolisthesis or trauma, or patients with certain characteristics, such as being in a certain age group. As another example, for an ACL replacement, automation can be limited to cases without other ligament tears.

At block 708, method 700 can provide results specifying one or more features of an implant configuration. For example, the results for a spinal surgery can include selection of pedicle screw type and dimensions for each vertebra and guidance on an insertion point and angle for each screw. As another example, results for an ACL replacement surgery can include selection of implant graft type, connection type, joint dimensions, and guidance on connection points such as drill locations and depths. In some implementations, the results can be specified in a natural language, e.g. using templates that can be filled in with recommendations. In some cases, the results from the analysis of block 706 can be mapped to particular reasons for the implant configuration recommendations, and these reasons can be supplied along with the recommendations.

In some implementations, the results can be based on medical definitions of preferred implant configurations, where the preferred implant configurations can be mapped to a particular surgical target area based on the results from block 706. For example, results for spinal surgery pedicle screws can include a preferred insertion point, e.g. defined, for lumbar vertebrae, at the intersection of the superior articular facet, transverse process, and pars interarticularis; and for thoracic spine or cervical spine, at the intersection of the superior articular facet plane and transverse process. As another example, a preferred screw angle can be, in axial view, the angle between the sagittal plane and the line defined by the insertion point and midpoint of the pedicle isthmus. In sagittal view the preferred screw angle can be parallel to the superior vertebral endplate. In addition, a maximal screw length can be defined as the distance between the insertion point and the far cortical boundary of the vertebra, at a particular screw angle. A maximal screw diameter can be the minimal width of the pedicle isthmus, on any axis. Each of these can be modified to include a certain safety buffer, which can vary depending on the size of the vertebra. The results from block 706 can identify features of an individual patient, which can be used in conjunction with the foregoing implant configuration definitions to specify patient specific implant configurations, e.g. in natural language, as image annotations, in a 3D model, as discussed below.

The implant configuration results can be specified in various formats. For example, results can be in a natural language, coordinates one of various coordinate systems, as instructions for a robotic system, as annotations to one or more images, or as a virtual model of the surgery target area. The results can be used to augment the implant surgery in multiple ways. For example, results can be added to a preoperative plan. Results can trigger acquisition of implant materials, such as by having selected implants ordered automatically or having designs for patient-specific screws provided for 3D-printing. As another example, results can be used to provide recommendations during a surgical procedure, e.g. with text or visual annotations provided as overlies on a flat panel display, through auditory or haptic feedback alerts, or using an AR or VR system, e.g. to display an overlay of the implant on the patient anatomy or to display guidance on the suggested insertion point and angle. In some implementations, the results can be used to control robotic systems, e.g. causing a robotic arm to align itself according to the recommended insertion point and angle, which may be first confirmed by a surgeon.

The method 700 can be used in a wide range of procedures, e.g. open procedures, minimally invasive procedures, orthopedic procedures, neurological procedures, reconstructive implants, maxillofacial procedures (e.g., maxillary implants), or other procedure. In some surgical procedures, the implant information at block 702 can include implant dimensions, material information (e.g., composition of implant), and images of the patient. At block 706, the implant configuration can be implant dimensions (e.g., when in a delivery state or implanted state), implant functionality, or the like.

FIG. 8A illustrates a flowchart showing a method 800 for applying analysis procedures that can utilize machine learning models, according to an embodiment. In some implementations, method 800 is performed as a sub-process of block 706. At block 802, method 800 can receive implant surgery information. This can be some of the converted implant surgery information from block 704. In some implementations, the implant surgery information can include one or more images of the surgery target area, e.g. MRI scans of a spine, X-rays of a wrist, ultrasound images of an abdomen, etc.

At block 804, method 800 can localize and classify a target in one or more of the images of the surgery target area. In various implementations, this can be accomplished by applying a machine learning model trained for the particular target area to identify surgical targets or by finding a centroid point of each displayed vertebra, performing vertebral classification using image recognition algorithms, and determining whether the classified vertebrae match a list of vertebrae identified for the surgery. In some implementations, if the image does not contain at least one target of interest, the image can be disregarded from further processing.

At block 806, method 800 can segment the identified target(s) from block 804 to determine their boundaries. At block 808, method 800 can localize implant insertion points. In some implementations, blocks 806 and 808 can be performed using machine learning models or algorithms, e.g. that identify particular patterns, changes in color, shapes, etc.

At block 810, method 800 can localize and segment individual target features. For example, in a spinal surgery where targets are vertebrae, at block 810 method 800 can identify vertebrae pedicles and their isthmus, and measure these features. In some implementations, this can be accomplished using a machine learning model trained to detect each type of feature. In some implementations, detecting the pedicle and the isthmus of vertebra from annotated images can include measuring the isthmus width and tracking the minimal value across images and planes, defining the angle between the line that passes through at least two midpoints in the pedicle, and the reference plane, measuring the maximal length through that line, and tracking the minimal value across measurements. In some implementations, isthmus determination and measurement can be accomplished by starting at a point inside a pedicle, computing the distance to pedicle borders in multiple directions, taking the minimum length. In other implementations, the isthmus determination and measurement can be accomplished by scanning, for example using horizontal lines that intersect with pedicle borders in an axial view, and finding the minimum-length line.

In some implementations, the steps performed at any of blocks 804-810 can be repeated for each of multiple target area images, aggregating results from the multiple images. For example, in a step for identifying and measuring vertebrae pedicles, an aggregated measurement for a particular pedicle can be the minimum measured width of the pedicle from all of the images showing that particular pedicle.

At block 812, method 800 can use results from any of blocks 804-810 to compute an implant configuration (e.g. characteristics and application parameters). For example, the minimum width of a pedicle found across the images showing that pedicle, with some buffer added, can be the selected width characteristic of a pedicle screw implant. As another example, a screw angle could be determined using an identified insertion point and a center of the pedicle isthmus, with respect to center axis, depending on the image plane. The angles in axial and sagittal planes can be either the median or average angles across the multiple images. As a further example, a maximal screw length can be determined as the length of the line defined by the insertion point, the insertion angle, and the point where the line hits the cortical wall of the vertebra, minus some safety buffer. This length can be computed from multiple images and the minimum across all the images can be used for of this screw.

FIG. 8B illustrates a flowchart showing a method 850 for applying analysis procedures that can utilize virtual models, according to an embodiment. In some implementations, method 850 is performed as a sub-process of block 706. At block 852, method 850 can receive implant surgery information. This can be some of the converted implant surgery information from block 704. In some implementations, the implant surgery information can include one or more images of the surgery target area.

At block 854, method 850 can build one or more virtual models of the target surgery area based on the images and/or other measurement data in the implant surgery information. A virtual model, as used herein, is a computerized representation of physical objects, such as the target area of a surgery (e.g. portions of a patient's spine) and/or implants (e.g. screws, rods, etc.). In some implementations, virtual models can be operated according to known physical properties, e.g. reactions to forces can be predicted according to known causal relationships. In various implementations, the virtual models generated by method 850 can be two-dimensional models or three-dimensional models. For example, a two-dimensional model can be generated by identifying portions of an image as corresponding to parts of a patient's anatomy, such that a computing system can determine how implant characteristics would fit in relation to the determined anatomy parts. As another example, a three-dimensional model can be generated by identifying shapes and features in individual images, from a set of successive images, and mapping the identified shapes and features into a virtual three-dimensional space, using relationships between images. Finite element analysis techniques can be used to predict stresses, strains, pressures, facture, and other information and be used to design implants, surgical tools, surgical techniques, etc. For example, the implant configuration can be determined based on predetermined stresses (e.g., maximum allowable stresses in the tissue and/or implant, yield strength of anatomical structures and/or implant components, etc.), fracture mechanics, or other criteria defined by the physician or automatically determined based on, for example, tissue characteristics, implant design, or the like. In some embodiments, fatigue life can be predicted using stress or strain based techniques.

A virtual model can also analyze mechanical interaction between a patient's vertebrae, loading of implants, and other devices (e.g., rods, ties, brackets, plates, etc.) coupled to those implants. The output of these analyses can be used to select pedicle screw configurations, insertion trajectories, and placement location to optimize screw pull-out strength, maximum allowable loading (e.g., axial loads, shear loads, moments, etc.) to manage stresses between adjacent vertebrae, or maximum allowable stress in regions of the bone at risk for fracture.

In some embodiments, a user could identify areas of weakened bone or areas on images of the patient where there is risk of a fracture due to the presence of a screw or other implant. This information can be provided to the virtual model. The virtual model can be used to evaluate whether the configuration or location of the implant would create an unacceptable risk of fracture in the identified region. If so, the system could alert the user to that risk or modify the implant configuration or the procedure to reduce the risk to an acceptable level. In other embodiments, the system could identify these areas of high fracture risk automatically. In yet another embodiment, the system could provide data to the user such as the maximum torque to apply to a given pedicle screw during the surgical procedure such that tissue trauma, risk of fracture, or adverse advents is minimized.

At block 856, method 850 can localize and classify areas of interest within the virtual model(s) from block 854. This can be accomplished using object recognition that matches shapes of known objects to shapes within the virtual models. For example, in a virtual model for a spinal surgery, the images can be MRI images of vertebrae. The virtual vertebrae can be labeled (e.g. c1-s5) and virtual model vertebrae corresponding to the vertebrae for which the spinal procedure is planned can be selected as the areas of interest. In some implementations, additional areas around the selected areas can be added to the areas of interest, allowing the surgeon to select alternative options before or during the procedure. For example, the one or two vertebrae adjacent, on one or both sides, to the planned vertebrae can be additionally selected.

At block 858, method 850 can segment the areas of interest, identified at block 856, to determine various boundaries and other features, such as the pedicle boundaries and the pedicle isthmus. In some implementations, the segmentation or boundary determinations can be performed using a machine learning model. The machine learning model can be trained, for the type of implant surgery to be performed, to receive a portion of a virtual model and identify target portion segmentations or boundaries.

At block 860, method 850 can localize an insertion point for the implant in the target area. In some implementations, this can be accomplished by applying a machine learning model trained to identify insertion points. In some implementations, localizing insertion points can be accomplish using an algorithm, e.g. that identify particular patterns, changes in color, shapes, etc. identified as corresponding to preferred implant insertion points.

At block 862, method 850 can compute an implant configuration based on the virtual model(s) and/or determinations made in blocks 856-860. In some implementations, the implant can be associated with requirements for their application and properties to maximize or minimize. In these cases, the implant configuration can be specified as the configuration that fits with the virtual model, achieving all the requirements, and optimizing the maximizable or minimizable properties. For example, when method 850 is performed to determine pedicle screw configurations for a spinal surgery, virtual pedicle screws can be placed in a virtual model generated at block 854, according to the insertion points determined at block 860. The virtual pedicle screws can further be placed to: not breach cortical vertebral boundaries (e.g. determined at block 858), with a specified amount of buffer, while maximizing the screw diameter and length, taking into consideration required buffers and close to optimal insertion angle, defined by the pedicle isthmus center and insertion point, for each vertebra (e.g. determined at block 858). In some implementations, this placement of the implant can be performed as a constraint optimization problem. For example, a virtual screw can be placed inside the segmented vertebral body in the virtual model. The placement can then be adjusted until an equilibrium is reached that optimizes the parameters while conforming to the implant constraints. For example, method 850 can maximizing screw diameter and length while aligning with an optimal angle and avoiding cortical breaches.

FIG. 9 illustrates a flowchart showing a method for training a machine learning model, according to an embodiment. Machine learning models, such as neural networks, can be trained to produce types of results. A neural network can be trained by obtaining, at block 902, a quantity of “training items,” where each training item includes input similar to input the model will receive when in use and a corresponding scored result. At block 904, the input from each training item can be supplied to the model to produce a result. At block 906, the result can be compared to the scored result. At block 908, model parameters can then be updated, based on how similar the model result is to the scored result and/or whether the score is positive or negative.

For example, a model can be trained using sets of pre-operative MRI scans of vertebrae paired with pedicle screw placements used in the surgery and corresponding scores for the result of that surgery. The images can be converted to arrays of integers that, when provided to the machine learning model, produce values that specify screw placements. The screw placements can be compared to the actual screw placement used in the surgery that produced the training item. The model parameters can then be adjusted so the model output is more like the screw placement used in the surgery if the surgery was a success or less like the screw placement used in the surgery if the surgery was a failure. The amount of adjustment to the model parameters can be a function of how different the model prediction was from the actual screw configuration used and/or the level of success or failure of the surgery.

As discussed above, machine learning models for the surgical assistance system can be trained to produce various results such as: to directly produce implant configurations upon receiving implant surgery information, to identify particular vertebral pedicles in various images, to determine an order or subset of images for processing, to localize and classify the target within an image, to segment target vertebrae, to determine boundaries or other features, to localize insertion points, etc.

In various implementations, the training data for a machine learning model can include input data such as medical imaging data, other patient data, or surgeon data. For example, model input can include images of the patient, patient sex, age, height, weight, type of pathology, occupation, activity level, etc., specifics of implant systems (e.g. types and dimensions), availability of available implants, or aspects of a surgeon's preoperative plan (e.g. surgeon's initial implant configuration, detection and measurement of the patient's anatomy on images, etc.) In some implementations, model training data input can include surgeon specifics, such as statistics or preferences for implant configurations used by the surgeon performing the implant surgery or outcomes for implant usages. For example, surgeons may have better skill or experience with particular implant configurations, and the system can be trained to select implant configurations the particular surgeon is more likely to use successfully. The training data input can be paired with results to create training items. The results can be, for example, human annotated medical imaging data (as a comparison for identifications such as boundaries and insertion points identified by a model), human feedback to model outputs, surgeons' post-operative suggestion feedback (e.g. whether the surgeon accepted model provided recommendations completely, or made certain changes, or disregarded), surgeons post-operative operation outcome success score, post-operative images that can be analyzed to determine results, the existence of certain positive or negative patient results, such as cortical breaches or other complications that might have occurred in the procedure, overall level of recovery, or recovery time.

In an illustrative embodiment, any of the operations, processes, etc. described herein can be implemented as computer-readable instructions stored on a computer-readable medium. The computer-readable instructions can be executed by a processor of a mobile unit, a network element, and/or any other computing device.

There is little distinction left between hardware and software implementations of aspects of systems; the use of hardware or software is generally (but not always, in that in certain contexts the choice between hardware and software can become significant) a design choice representing cost vs. efficiency tradeoffs. There are various vehicles by which processes and/or systems and/or other technologies described herein can be effected (e.g., hardware, software, and/or firmware), and that the preferred vehicle will vary with the context in which the processes and/or systems and/or other technologies are deployed. For example, if an implementer determines that speed and accuracy are paramount, the implementer may opt for a mainly hardware and/or firmware vehicle; if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware.

The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a CD, a DVD, a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).

Those skilled in the art will recognize that it is common within the art to describe devices and/or processes in the fashion set forth herein, and thereafter use engineering practices to integrate such described devices and/or processes into data processing systems. That is, at least a portion of the devices and/or processes described herein can be integrated into a data processing system via a reasonable amount of experimentation. Those having skill in the art will recognize that a typical data processing system generally includes one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops and control motors (e.g., feedback for sensing position and/or velocity; control motors for moving and/or adjusting components and/or quantities). A typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data computing/communication and/or network computing/communication systems.

The herein described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable”, to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.

From the foregoing, it will be appreciated that various embodiments of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various embodiments disclosed herein are not intended to be limiting. 

1-38. (canceled)
 39. A computer-implemented method for providing surgical assistance, the method comprising: receiving one or more images of a patient; using at least one trained machine learning model for designing a patient-specific implant, the designing of the patient-specific implant includes: analyzing the one or more images to identify one or more implantation sites along a patient's spine; generating a virtual model of the patient's spine for review by a user; determining or receiving, from the user, design criteria associated with the one or more implantation sites; analyzing the design criteria using the virtual model to determine whether the design criteria are acceptable; in response to the design criteria being unacceptable, receiving alternative option input from the user, and generating acceptable design criteria based on the received alternative option input; and generating a virtual model of the patient-specific implant that fits with one or more vertebral bodies of the virtual model based on the acceptable design criteria.
 40. The method of claim 39, further comprising simulating the patient-specific implant being implanted along the patient's spine by using the virtual model of the patient's spine.
 41. The method of claim 39, further comprising: determining one or more values for the patient's spine based on the virtual model of the patient's spine, wherein the one or more values indicate a configuration for the patient's spine; and determining one or more dimensions for the patient-specific implant based on the determined one or more values.
 42. The method of claim 39, further comprising: determining a suggested adjustment for the patient's spine; and displaying one or more dimensions with at least one image for the suggested adjustment.
 43. The method of claim 39, further comprising: adjusting one or more model parameters of the virtual model of the patient's spine based on training data selected based on the surgery to be performed, wherein the training data includes scored prior patient data.
 44. The method of claim 39, further comprising training the at least one trained machine learning model based on a set of patient data, the set of patient data including, for a plurality of individual patients, at least one of (i) images (ii) patient information, (iii) implant configuration, or (iv) scored surgery outcomes.
 45. The method of claim 39, further comprising: analyzing one or more simulations for treating the patient's spine; and revising the design of the patient-specific implant based on the analysis of the one or more simulations.
 46. The method of claim 39, further comprising: using boundary detection, edge detection, tissue identification, structural analysis, tissue density, and/or feature matching to analyze the one or more images; and generating at least a portion of the virtual model of the patient's spine based on the analysis of the one or more images.
 47. The method of claim 39, further comprising identifying an anatomical abnormality of the patient's spine based on the received one or more images.
 48. The method of claim 39, further comprising generating implant data for the patient-specific implant, wherein the implant data includes computer executable instructions that, when executed, direct an automated manufacturing system to manufacture the patient-specific implant.
 49. The method of claim 39, further comprising: using the at least one trained machine learning model to select at least one anatomical feature of the patient's spine; and measuring the selected at least one anatomical feature using the virtual model.
 50. The method of claim 39, further comprising: measuring a distance between a first target vertebra and a second target vertebra using the virtual model of the patient's spine; and designing the patient-specific implant based on the measured distance.
 51. A computing system comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising: receiving one or more images of a patient; using at least one trained machine learning model for designing a patient-specific implant, the designing of the patient-specific implant includes: analyzing the one or more images to identify one or more implantation sites along a patient's spine; generating a virtual model of the patient's spine for review by a user; determining or receiving, from the user, design criteria associated with the one or more implantation sites; analyzing the design criteria using the virtual model to determine whether the design criteria are acceptable; in response to the design criteria being unacceptable, receiving alternative option input from the user, and generating acceptable design criteria based on the received alternative option input; and generating a virtual model of the patient-specific implant that fits with one or more vertebral bodies of the virtual model based on the acceptable design criteria.
 52. The system of claim 51, wherein the process further comprises simulating the patient-specific implant being implanted along the patient's spine by using the virtual model of the patient's spine and the patient-specific implant.
 53. The system of claim 51, wherein the process further comprises: determining one or more values for the patient's spine based on the virtual model, wherein the one or more values indicate a configuration for the patient's spine; and determining one or more dimensions of the patient-specific implant based on the determined one or more values.
 54. The system of claim 51, wherein the process further comprises: determining a suggested adjustment for patient's spine; and displaying one or more dimensions with at least one image for the suggested adjusted.
 55. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform operations to: receive one or more images of a patient; use at least one trained machine learning model for designing a patient-specific implant, the designing of the patient-specific implant includes: analyze the one or more images to identify one or more implantation sites along a patient's spine; generate a virtual model of the patient's spine for review by a user; determine or receiving, from the user, design criteria associated with the one or more implantation sites; analyze the design criteria using the virtual model to determine whether the design criteria are acceptable; in response to the design criteria being unacceptable, receive alternative option input from the user, and generate acceptable design criteria based on the received alternative option input; and generating a virtual model of the patient-specific implant that fits with one or more vertebral bodies of the virtual model based on the acceptable design criteria.
 56. The system of claim 55, wherein the process further comprises simulating the patient-specific implant being implanted along the patient's spine by using the virtual model of the patient's spine and the patient-specific implant.
 57. The system of claim 55, wherein the process further comprises: determining one or more values for the patient's spine based on the virtual model, wherein the one or more values indicate a configuration for the patient's spine; and determining one or more dimensions of the patient-specific implant based on the determined one or more values.
 58. The system of claim 55, wherein the process further comprises: determining a suggested adjustment for patient's spine; and displaying one or more dimensions with at least one image for the suggested adjusted. 